// 回顾函数
function foo(){
    console.log("foo function")
}
foo()
// 高阶函数: 将函数作为参数传递
function foo2(fn){
    // 函数将延迟2秒后执行
    console.log("foo2 function")
    setTimeout(()=>{
        fn()
    },2000)
}
// 
foo2(function(){

})

// [].map().filter.reduce().forEach()

// 高阶函数: 返回一个函数
function foo3(){
    function bar(){

    }
    return bar
}
const fn = foo3()